<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">

<html lang="en">
  <head>
    <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
    <title>WURFLTestsSuite</title>
    <link rel="stylesheet" type="text/css" href="style.css">
    <link rel="stylesheet" type="text/css" href="container.css">
    <script type="text/javascript" src="yahoo-dom-event.js"></script>
    <script type="text/javascript" src="container-min.js"></script>
  </head>

  <body class="yui-skin-sam">
    <table width="100%" border="0" cellspacing="0" cellpadding="0">
      <tr><td class="title">WURFLTestsSuite</td></tr>
      <tr><td class="ruler"><img src="glass.png" width="3" height="3" alt=""></td></tr>

      <tr>
        <td width="100%">
          <table cellpadding="1" border="0" width="100%">
            <tr>
              <td class="headerItem" width="20%">Current file:</td>
              <td class="headerValue" width="80%"><a href="index.html">/Users/fanta/Documents/Work/Projects/com.wurflpro/wurfl-api/code/dev/wurfl-php/wurfl-api-php</a>/<a href="WURFL.html">WURFL</a>/<a href="WURFL_Xml.html">Xml</a>/<a href="WURFL_Xml_DevicePatcher.php.html">DevicePatcher.php</a></td>
            </tr>
            <tr>
              <td class="legendItem" width="20%">Legend:</td>
              <td class="legendValue" width="80%">
                <span class="legendCov">executed</span>
                <span class="legendNoCov">not executed</span>
                <span class="legendDeadCode">dead code</span>
              </td>
            </tr>
          </table>
        </td>
      </tr>

      <tr>
        <td class="ruler"><img src="glass.png" width="3" height="3" alt=""></td>
      </tr>
    </table>

    <br />

    <center>
      <table width="90%" cellpadding="2" cellspacing="1" border="0">
        <tr>
          <td class="tableHead" width="30%">&nbsp;</td>
          <td class="tableHead" colspan="9">Coverage</td>
        </tr>
        <tr>
          <td class="tableHead">&nbsp;</td>
          <td class="tableHead" colspan="3">Classes</td>
          <td class="tableHead" colspan="3">Functions / Methods</td>
          <td class="tableHead" colspan="3">Lines</td>
        </tr>
        <tr>
          <td class="coverItem">Total</td>
          <td class="coverBar" align="center" width="100">
            <table border="0" cellspacing="0" cellpadding="1">
              <tr>
                <td class="coverBarOutline"><img src="chameleon.png" width="100" height="10" alt="100.00%"><img src="snow.png" width="0" height="10" alt="100.00%"></td>
              </tr>
            </table>
          </td>
          <td class="coverPerHi">100.00%</td>
          <td class="coverNumHi">1 / 1</td>
          <td class="coverBar" align="center" width="100">
            <table border="0" cellspacing="0" cellpadding="1">
              <tr>
                <td class="coverBarOutline"><img src="butter.png" width="66" height="10" alt="66.67%"><img src="snow.png" width="34" height="10" alt="66.67%"></td>
              </tr>
            </table>
          </td>
          <td class="coverPerMed">66.67%</td>
          <td class="coverNumMed">2 / 3</td>
          <td class="coverBar" align="center" width="100">
            <table border="0" cellspacing="0" cellpadding="1">
              <tr>
                <td class="coverBarOutline"><img src="butter.png" width="60" height="10" alt="60.00%"><img src="snow.png" width="40" height="10" alt="60.00%"></td>
              </tr>
            </table>
          </td>
          <td class="coverPerMed">60.00%</td>
          <td class="coverNumMed">6 / 10</td>
        </tr>

        <tr>
          <td class="tableHead" colspan="10">&nbsp;</td>
        </tr>
        <tr>
          <td class="coverItem"><b><a href="#21">WURFL_Xml_DevicePatcher</a></b></td>
          <td class="coverBar" align="center" width="100">
            <table border="0" cellspacing="0" cellpadding="1">
              <tr>
                <td class="coverBarOutline"><img src="chameleon.png" width="100" height="10" alt="100.00%"><img src="snow.png" width="0" height="10" alt="100.00%"></td>
              </tr>
            </table>
          </td>
          <td class="coverPerHi">100.00%</td>
          <td class="coverNumHi">1 / 1</td>
          <td class="coverBar" align="center" width="100">
            <table border="0" cellspacing="0" cellpadding="1">
              <tr>
                <td class="coverBarOutline"><img src="butter.png" width="66" height="10" alt="66.67%"><img src="snow.png" width="34" height="10" alt="66.67%"></td>
              </tr>
            </table>
          </td>
          <td class="coverPerMed">66.67%</td>
          <td class="coverNumMed">2 / 3</td>
          <td class="coverBar" align="center" width="100">
            <table border="0" cellspacing="0" cellpadding="1">
              <tr>
                <td class="coverBarOutline"><img src="butter.png" width="60" height="10" alt="60.00%"><img src="snow.png" width="40" height="10" alt="60.00%"></td>
              </tr>
            </table>
          </td>
          <td class="coverPerMed">60.00%</td>
          <td class="coverNumMed">6 / 10</td>
        </tr>

        <tr>
          <td class="coverFile" colspan="4">&nbsp;<a href="#23">public function patch($device, $patchingDevice)</a></td>
          <td class="coverBar" align="center" width="100">
            <table border="0" cellspacing="0" cellpadding="1">
              <tr>
                <td class="coverBarOutline"><img src="chameleon.png" width="100" height="10" alt="100.00%"><img src="snow.png" width="0" height="10" alt="100.00%"></td>
              </tr>
            </table>
          </td>
          <td class="coverPerHi">100.00%</td>
          <td class="coverNumHi">1 / 1</td>
          <td class="coverBar" align="center" width="100">
            <table border="0" cellspacing="0" cellpadding="1">
              <tr>
                <td class="coverBarOutline"><img src="chameleon.png" width="100" height="10" alt="100.00%"><img src="snow.png" width="0" height="10" alt="100.00%"></td>
              </tr>
            </table>
          </td>
          <td class="coverPerHi">100.00%</td>
          <td class="coverNumHi">4 / 4</td>
        </tr>

        <tr>
          <td class="coverFile" colspan="4">&nbsp;<a href="#33">private function haveSameId($device, $patchingDevice)</a></td>
          <td class="coverBar" align="center" width="100">
            <table border="0" cellspacing="0" cellpadding="1">
              <tr>
                <td class="coverBarOutline"><img src="chameleon.png" width="100" height="10" alt="100.00%"><img src="snow.png" width="0" height="10" alt="100.00%"></td>
              </tr>
            </table>
          </td>
          <td class="coverPerHi">100.00%</td>
          <td class="coverNumHi">1 / 1</td>
          <td class="coverBar" align="center" width="100">
            <table border="0" cellspacing="0" cellpadding="1">
              <tr>
                <td class="coverBarOutline"><img src="chameleon.png" width="100" height="10" alt="100.00%"><img src="snow.png" width="0" height="10" alt="100.00%"></td>
              </tr>
            </table>
          </td>
          <td class="coverPerHi">100.00%</td>
          <td class="coverNumHi">1 / 1</td>
        </tr>

        <tr>
          <td class="coverFile" colspan="4">&nbsp;<a href="#37">private function checkIfCanPatch($device, $patchingDevice)</a></td>
          <td class="coverBar" align="center" width="100">
            <table border="0" cellspacing="0" cellpadding="1">
              <tr>
                <td class="coverBarOutline"><img src="scarlet_red.png" width="0" height="10" alt="0.00%"><img src="snow.png" width="100" height="10" alt="0.00%"></td>
              </tr>
            </table>
          </td>
          <td class="coverPerLo">0.00%</td>
          <td class="coverNumLo">0 / 1</td>
          <td class="coverBar" align="center" width="100">
            <table border="0" cellspacing="0" cellpadding="1">
              <tr>
                <td class="coverBarOutline"><img src="scarlet_red.png" width="0" height="10" alt="0.00%"><img src="snow.png" width="100" height="10" alt="0.00%"></td>
              </tr>
            </table>
          </td>
          <td class="coverPerLo">0.00%</td>
          <td class="coverNumLo">0 / 4</td>
        </tr>


      </table>
    </center>

    <br />

    <table cellpadding="0" cellspacing="0" border="0">
      <tr>
        <td><br /></td>
      </tr>
      <tr>
        <td>
<pre class="source">
<span class="lineNum" id="container1"><a name="1"></a><a href="#1" id="line1">       1</a> </span>                : &lt;?php                                                                                                                                                                    
<span class="lineNum" id="container2"><a name="2"></a><a href="#2" id="line2">       2</a> </span>                : /**                                                                                                                                                                      
<span class="lineNum" id="container3"><a name="3"></a><a href="#3" id="line3">       3</a> </span>                :  * WURFL API                                                                                                                                                             
<span class="lineNum" id="container4"><a name="4"></a><a href="#4" id="line4">       4</a> </span>                :  *                                                                                                                                                                       
<span class="lineNum" id="container5"><a name="5"></a><a href="#5" id="line5">       5</a> </span>                :  * LICENSE                                                                                                                                                               
<span class="lineNum" id="container6"><a name="6"></a><a href="#6" id="line6">       6</a> </span>                :  *                                                                                                                                                                       
<span class="lineNum" id="container7"><a name="7"></a><a href="#7" id="line7">       7</a> </span>                :  * This file is released under the GNU General Public License. Refer to the                                                                                              
<span class="lineNum" id="container8"><a name="8"></a><a href="#8" id="line8">       8</a> </span>                :  * COPYING file distributed with this package.                                                                                                                           
<span class="lineNum" id="container9"><a name="9"></a><a href="#9" id="line9">       9</a> </span>                :  *                                                                                                                                                                       
<span class="lineNum" id="container10"><a name="10"></a><a href="#10" id="line10">      10</a> </span>                :  * Copyright (c) 2008-2009, WURFL-Pro S.r.l., Rome, Italy                                                                                                                
<span class="lineNum" id="container11"><a name="11"></a><a href="#11" id="line11">      11</a> </span>                :  *                                                                                                                                                                       
<span class="lineNum" id="container12"><a name="12"></a><a href="#12" id="line12">      12</a> </span>                :  *                                                                                                                                                                       
<span class="lineNum" id="container13"><a name="13"></a><a href="#13" id="line13">      13</a> </span>                :  *                                                                                                                                                                       
<span class="lineNum" id="container14"><a name="14"></a><a href="#14" id="line14">      14</a> </span>                :  * @category   WURFL                                                                                                                                                     
<span class="lineNum" id="container15"><a name="15"></a><a href="#15" id="line15">      15</a> </span>                :  * @package    WURFL_Xml                                                                                                                                                 
<span class="lineNum" id="container16"><a name="16"></a><a href="#16" id="line16">      16</a> </span>                :  * @copyright  WURFL-PRO SRL, Rome, Italy                                                                                                                                
<span class="lineNum" id="container17"><a name="17"></a><a href="#17" id="line17">      17</a> </span>                :  * @license                                                                                                                                                              
<span class="lineNum" id="container18"><a name="18"></a><a href="#18" id="line18">      18</a> </span>                :  * @version    $id$                                                                                                                                                      
<span class="lineNum" id="container19"><a name="19"></a><a href="#19" id="line19">      19</a> </span>                :  *                                                                                                                                                                       
<span class="lineNum" id="container20"><a name="20"></a><a href="#20" id="line20">      20</a> </span>                :  */                                                                                                                                                                      
<span class="lineNum" id="container21"><a name="21"></a><a href="#21" id="line21">      21</a> </span><span class="lineCov">              1 : class WURFL_Xml_DevicePatcher {                                                                                                                                          </span>
<span class="lineNum" id="container22"><a name="22"></a><a href="#22" id="line22">      22</a> </span>                :                                                                                                                                                                          
<span class="lineNum" id="container23"><a name="23"></a><a href="#23" id="line23">      23</a> </span>                :     public function patch($device, $patchingDevice) {                                                                                                                    
<span class="lineNum" id="container24"><a name="24"></a><a href="#24" id="line24">      24</a> </span><span class="lineCov">              5 :         if(!$this-&gt;haveSameId($device, $patchingDevice)) {                                                                                                               </span>
<span class="lineNum" id="container25"><a name="25"></a><a href="#25" id="line25">      25</a> </span><span class="lineCov">              2 :             return $patchingDevice;                                                                                                                                      </span>
<span class="lineNum" id="container26"><a name="26"></a><a href="#26" id="line26">      26</a> </span><span class="lineDeadCode">                :         }                                                                                                                                                                </span>
<span class="lineNum" id="container27"><a name="27"></a><a href="#27" id="line27">      27</a> </span><span class="lineCov">              3 :         $groupIdCapabilitiesMap = WURFL_WURFLUtils::array_merge_recursive_unique( $device-&gt;getGroupIdCapabilitiesMap (), $patchingDevice-&gt;getGroupIdCapabilitiesMap () );</span>
<span class="lineNum" id="container28"><a name="28"></a><a href="#28" id="line28">      28</a> </span><span class="lineCov">              3 :         return new WURFL_Xml_ModelDevice ( $device-&gt;id, $device-&gt;userAgent, $device-&gt;fallBack, $device-&gt;actualDeviceRoot, $device-&gt;specific, $groupIdCapabilitiesMap );  </span>
<span class="lineNum" id="container29"><a name="29"></a><a href="#29" id="line29">      29</a> </span>                :                                                                                                                                                                          
<span class="lineNum" id="container30"><a name="30"></a><a href="#30" id="line30">      30</a> </span><span class="lineDeadCode">                :     }                                                                                                                                                                    </span>
<span class="lineNum" id="container31"><a name="31"></a><a href="#31" id="line31">      31</a> </span>                :                                                                                                                                                                          
<span class="lineNum" id="container32"><a name="32"></a><a href="#32" id="line32">      32</a> </span>                :                                                                                                                                                                          
<span class="lineNum" id="container33"><a name="33"></a><a href="#33" id="line33">      33</a> </span>                :     private function haveSameId($device, $patchingDevice) {                                                                                                              
<span class="lineNum" id="container34"><a name="34"></a><a href="#34" id="line34">      34</a> </span><span class="lineCov">              5 :         return strcmp ( $patchingDevice-&gt;id, $device-&gt;id ) === 0;                                                                                                        </span>
<span class="lineNum" id="container35"><a name="35"></a><a href="#35" id="line35">      35</a> </span><span class="lineDeadCode">                :     }                                                                                                                                                                    </span>
<span class="lineNum" id="container36"><a name="36"></a><a href="#36" id="line36">      36</a> </span>                :                                                                                                                                                                          
<span class="lineNum" id="container37"><a name="37"></a><a href="#37" id="line37">      37</a> </span>                :     private function checkIfCanPatch($device, $patchingDevice) {                                                                                                         
<span class="lineNum" id="container38"><a name="38"></a><a href="#38" id="line38">      38</a> </span>                :                                                                                                                                                                          
<span class="lineNum" id="container39"><a name="39"></a><a href="#39" id="line39">      39</a> </span><span class="lineNoCov">              0 :         if (strcmp ( $patchingDevice-&gt;userAgent, $device-&gt;userAgent ) !== 0) {                                                                                           </span>
<span class="lineNum" id="container40"><a name="40"></a><a href="#40" id="line40">      40</a> </span><span class="lineNoCov">              0 :             $message = &quot;Patch Device : &quot; . $patchingDevice-&gt;id . &quot; can't ovveride user agent &quot; . $device-&gt;userAgent . &quot; with &quot; . $patchingDevice-&gt;userAgent;             </span>
<span class="lineNum" id="container41"><a name="41"></a><a href="#41" id="line41">      41</a> </span><span class="lineNoCov">              0 :             throw new WURFL_WURFLException ( $message );                                                                                                                 </span>
<span class="lineNum" id="container42"><a name="42"></a><a href="#42" id="line42">      42</a> </span><span class="lineDeadCode">                :         }                                                                                                                                                                </span>
<span class="lineNum" id="container43"><a name="43"></a><a href="#43" id="line43">      43</a> </span><span class="lineNoCov">              0 :     }                                                                                                                                                                    </span>
<span class="lineNum" id="container44"><a name="44"></a><a href="#44" id="line44">      44</a> </span>                : }                                                                                                                                                                        
<span class="lineNum" id="container45"><a name="45"></a><a href="#45" id="line45">      45</a> </span>                :                                                                                                                                                                          

</pre>
        </td>
      </tr>
    </table>

    <table width="100%" border="0" cellspacing="0" cellpadding="0">
      <tr><td class="ruler"><img src="glass.png" width="3" height="3" alt=""></td></tr>
      <tr><td class="versionInfo">Generated by <a href="http://www.phpunit.de/">PHPUnit 3.3.15</a> and <a href="http://www.xdebug.org/">Xdebug 2.0.4</a> at Thu Oct 7 10:11:47 BST 2010.</td></tr>
    </table>

    <br />

    <script type="text/javascript">
      //<![CDATA[
      $E = YAHOO.util.Event;
      YAHOO.namespace("phpunit.container");
      YAHOO.phpunit.container.panelsData = {
        "panel21": {
          "header": "1 test covers line 21",
          "body": "<ul><li class=\"testPassed\">testShouldReturnThePatchingDeviceIfForDifferentDevices(WURFL_Xml_DevicePatcherTest)</li></ul>",
          "footer": ""
        },
        "panel24": {
          "header": "5 tests cover line 24",
          "body": "<ul><li class=\"testPassed\">testShouldReturnThePatchingDeviceIfForDifferentDevices(WURFL_Xml_DevicePatcherTest)</li><li class=\"testPassed\">testShouldOverrideTheCapabilities(WURFL_Xml_DevicePatcherTest)</li><li class=\"testPassed\">testShouldOnlyOverrideTheCapabilitiesSpecifiedByThePatcherDevices(WURFL_Xml_DevicePatcherTest)</li><li class=\"testPassed\">testShouldAddNewDevice(WURFL_DeviceRepositoryBuilderTest)</li><li class=\"testPassed\">testShouldApplyMoreThanOnePatches(WURFL_DeviceRepositoryBuilderTest)</li></ul>",
          "footer": ""
        },
        "panel25": {
          "header": "2 tests cover line 25",
          "body": "<ul><li class=\"testPassed\">testShouldReturnThePatchingDeviceIfForDifferentDevices(WURFL_Xml_DevicePatcherTest)</li><li class=\"testPassed\">testShouldOverrideTheCapabilities(WURFL_Xml_DevicePatcherTest)</li></ul>",
          "footer": ""
        },
        "panel27": {
          "header": "3 tests cover line 27",
          "body": "<ul><li class=\"testPassed\">testShouldOnlyOverrideTheCapabilitiesSpecifiedByThePatcherDevices(WURFL_Xml_DevicePatcherTest)</li><li class=\"testPassed\">testShouldAddNewDevice(WURFL_DeviceRepositoryBuilderTest)</li><li class=\"testPassed\">testShouldApplyMoreThanOnePatches(WURFL_DeviceRepositoryBuilderTest)</li></ul>",
          "footer": ""
        },
        "panel28": {
          "header": "3 tests cover line 28",
          "body": "<ul><li class=\"testPassed\">testShouldOnlyOverrideTheCapabilitiesSpecifiedByThePatcherDevices(WURFL_Xml_DevicePatcherTest)</li><li class=\"testPassed\">testShouldAddNewDevice(WURFL_DeviceRepositoryBuilderTest)</li><li class=\"testPassed\">testShouldApplyMoreThanOnePatches(WURFL_DeviceRepositoryBuilderTest)</li></ul>",
          "footer": ""
        },
        "panel34": {
          "header": "5 tests cover line 34",
          "body": "<ul><li class=\"testPassed\">testShouldReturnThePatchingDeviceIfForDifferentDevices(WURFL_Xml_DevicePatcherTest)</li><li class=\"testPassed\">testShouldOverrideTheCapabilities(WURFL_Xml_DevicePatcherTest)</li><li class=\"testPassed\">testShouldOnlyOverrideTheCapabilitiesSpecifiedByThePatcherDevices(WURFL_Xml_DevicePatcherTest)</li><li class=\"testPassed\">testShouldAddNewDevice(WURFL_DeviceRepositoryBuilderTest)</li><li class=\"testPassed\">testShouldApplyMoreThanOnePatches(WURFL_DeviceRepositoryBuilderTest)</li></ul>",
          "footer": ""
        },
      "dummy": ""
      };

      YAHOO.phpunit.container.prepare = function (e) {
        var elemId = $E.getTarget(e).id;
        var line = elemId.substr(4);
        var panelId = "panel" + line;
        var containerId = "container" + line;

        var panelData = YAHOO.phpunit.container.panelsData[panelId];

        var panel = new YAHOO.widget.Panel(panelId, { visible:false, draggable:false, close:true } );
        panel.setHeader(panelData["header"]);
        panel.setBody(panelData["body"]);
        panel.setFooter(panelData["footer"]);
        panel.render(containerId);

        $E.addListener(elemId, "click", panel.show, panel, true);
        $E.removeListener(elemId, "mouseover");
      };

      function init() {
        var ypc = YAHOO.phpunit.container;
        for (var panelId in ypc.panelsData) {
          var elemId = "line" + panelId.substr(5);
          $E.addListener(elemId, "mouseover", ypc.prepare);
        }
      }

      $E.addListener(window, "load", init);
      //]]>
    </script>
  </body>
</html>
